The increasing complexity of industrial processes in a variety of industries makes it more and more imperative for automatic controllers to make experience-based judgments akin to human thinking in order to cope with unknown or unanticipated events affecting the economics and safety of the process.
The popular Proportional-Integral-Derivative (PID) controller can provide satisfactory control behavior for many single-input single-output (SISO) systems whose dynamics change within a relatively small range. However, PID has major difficulties in controlling complex systems such as chemical reactors, blast furnaces, distillation columns, and rolling mills. These systems are usually time-varying and nonlinear, their inputs and outputs are seriously coupled, and the system dynamics have parameter and structure uncertainties.
Many advanced control techniques such as Model Predictive Control, Robust Control, and Adaptive Control have been developed to handle these systems. However, all of these techniques depend on a precise and relatively simple dynamic model for the process. It is usually difficult to find such a model, and model uncertainties can affect the control performance seriously even if the model is obtained. Due to the complexity of implementing these techniques, no generic controllers or software packages exist, which makes commercially practical control of complex industrial processes very difficult and expensive.
A more recent control method based on expert system technology, called expert control or intelligent control, represents a step in this direction. It takes the so-called what-to-control-and-what-algorithm-to-use approach to adjust the control strategy based on changes in the system environment and control tasks. However, expert controls are heavily dependent on the knowledge base built by expertise and real-time inference. In practice, it is hardly possible to establish a real-time knowledge base which duplicates the system dynamics for complex systems. For this reason, expert controls are useful mainly for optimization and decision making problems such as production planning, scheduling, and fault diagnosis.
Consequently, a need still exists for a generic controller which can be used easily and effectively to control a wide variety of complex systems. The controller should have powerful self-learning and adaptation capability to cope with uncertainties and changes in the system environment. Moreover, the controller should be based on closed-loop real-time input/output data and qualitative knowledge of the system behavior only. No precise knowledge of system dynamics should be required.